#ifndef __gpio_driver_h
#define __gpio_driver_h

// Included Files
//
#include "driverlib.h"
#include "device.h"
#include "board.h"
#include "user.h"
#include "timebase_10k.h"

typedef enum {
    GPIO_IN=0,
    GPIO_OUT,
    XBAR
}pinType_E;

#define myGPIO14_GPIO_PIN_CONFIG GPIO_67_GPIO67
#define myGPIO14 67
#define myTZGPIO_SOURCE 67
#define myTZGPIO_INPUT XBAR_INPUT1


#define ECAP_A_RTD_PINNUM 59
#define ECAP_A_RTD_GPIO_PIN_CONFIG    GPIO_59_GPIO59
#define ECAP_A_RTD_XBAR_INPUT XBAR_INPUT7

#define ECAP_B_RTD_PINNUM 125
#define ECAP_B_RTD_GPIO_PIN_CONFIG    GPIO_125_GPIO125
#define ECAP_B_RTD_XBAR_INPUT XBAR_INPUT8



#define ECAP_PHASE_PINNUM 15
#define ECAP_PHASE_GPIO_PIN_CONFIG    GPIO_15_GPIO15
#define ECAP_PHASE_XBAR_INPUT XBAR_INPUT9

#define mySyncGpio_Input GPIO_11_GPIO11
#define mysyncGpio 11

#define mySYNCGPIO_SOURCE 16
#define mySYNCGPIO_INPUT XBAR_INPUT5


//
// GPIO97 - GPIO Settings
//
#define RESET 14
#define RESET_GPIO_PIN_CONFIG GPIO_14_GPIO14
//
// GPIO97 - GPIO Settings
//
#define SUBORDINATE 58
#define SUBORDINATE_GPIO_PIN_CONFIG GPIO_58_GPIO58
//
// GPIO27 - GPIO Settings
//
#define DATASTREAM 97
#define DATASTREAM_GPIO_PIN_CONFIG GPIO_97_GPIO97
//
// GPIO24 - GPIO Settings
//
//#define FAULT_RESET 67
//#define FAULT_RESET_GPIO_PIN_CONFIG GPIO_67_GPIO67
//
// GPIO25 - GPIO Settings
//
#define A_OCEN_OUT 105
#define A_OCEN_OUT_GPIO_PIN_CONFIG GPIO_105_GPIO105
//
// GPIO26 - GPIO Settings
//
#define B_OCEN_OUT 104
#define B_OCEN_OUT_GPIO_PIN_CONFIG GPIO_104_GPIO104
//
// GPIO63 - GPIO Settings
//
#define VOLTING 6
#define VOLTING_GPIO_PIN_CONFIG GPIO_6_GPIO6
//
// GPIO8 - GPIO Settings
//
#define A_FAULT 8
#define A_FAULT_GPIO_PIN_CONFIG GPIO_8_GPIO8
//
// GPIO9 - GPIO Settings
//
#define B_FAULT 9
#define B_FAULT_GPIO_PIN_CONFIG GPIO_9_GPIO9

#define P22 22
#define P22_GPIO_PIN_CONFIG GPIO_22_GPIO22
//
// GPIO10 - GPIO Settings
//
#define OVERVOLTAGE 25
#define OVERVOLTAGE_GPIO_PIN_CONFIG GPIO_25_GPIO25
//
// GPIO11 - GPIO Settings
//
#define OVERCURRENT 94
#define OVERCURRENT_GPIO_PIN_CONFIG GPIO_94_GPIO94
//
// GPIO41 - GPIO Settings
//
#define LED_G 41
#define LED_G_GPIO_PIN_CONFIG GPIO_41_GPIO41
//
// GPIO52 - GPIO Settings
//
#define LED_Y 52
#define LED_Y_GPIO_PIN_CONFIG GPIO_52_GPIO52
//
// GPIO65 - GPIO Settings
//
#define LED_R 65
#define LED_R_GPIO_PIN_CONFIG GPIO_65_GPIO65


void USER_InitGPIO(void);
void USER_initINPUTXBARINPUT(void);
__interrupt void gpioInterruptHandler(void);



#endif
